This invention relates in general to computer database systems and more specifically to a computer database system using an ontology structure to allow analysis of the database.
The proliferation of computer systems and improvements in telecommunications makes an overwhelming amount of data available to a computer user. Massive networks such as the Internet provide millions upon millions of data items in the form of words, numbers, images, etc., in very diverse and unregulated forts. Other, smaller, databases and database systems, such as intranets and stand-alone computer systems, are more restrictive in their data formats yet still provide large volumes of data to the user. Perhaps the smallest application of a computerized database is with today's so-called personal digital assistance (PDAs) which may contain an individual's address book, calendar, or similar personal database.
Within the range of all of these database systems lie the same basic problems of efficient access to, and analysis of, the data. Typical database applications are designed primarily to provide ease of data entry, upkeep and retrieval. However, the applications require that the database be specifically designed for a target application, e.g., medical record-keeping, so that "records," "templates," or similar structures must be designed by a database programmer or architect in order for the database application to be useful to an end user. For example, the Access database program, manufactured by Microsoft Inc., requires the creation of records having multiple fields. Information of predetermined types is entered into the fields. The information is accessed using the same predetermined fields.
Such a database system provides a query language so that a user can form relational inquires into the database. In a medical records database, for example, a user can retrieve records from the database that include a specific patient's name AND were created AFTER a certain date. The "AND" operator is a relational operator between the two desired attributes of "patient name" and "creation date." The AFTER operator modifies the query range by using the creation date.
More recently, popular database search engines have been created which allow users to search larger, less-structured databases such as the Internet with similar relational query operators. For example, search engines by Yahoo! and AltaVista allow relational queries using keywords that do not relate to specific attributes and fields. Instead, any document having words with a specified relationship, such as the above relationship used in the example, is listed as a possible document of interest to the user. While relational database queries are useful in searching for information, they require that the user know with high specificity the type of information sought.
Another use for databases is to provide a platform for analyzing data to determine characteristics, trends or predictive guidelines in the information. For example, where financial data is being analyzed it may be useful to discover that where inflation is high in an overseas market, bond prices in a different market are also high with a very high frequency. Or, in a medical research application, it would be useful to determine that in a high percentage of cases where a certain treatment was used the recovery time was very short. However, such analysis of data is not possible with traditional database applications which singularly focus on retrieving existing data and entering and maintaining data of predetermined formats using relational queries.
Thus, it is desirable to provide a technique and system for analyzing characteristics of data in the matter discussed above. Further, it is desirable to provide such a technique and system that is usable with databases regardless of the size or level of structuring of the database. Also, given the vast amount of data available, it is vital that the results of the analysis be presented in a form that is efficient for detecting trends, qualities or other useful information among the data being analyzed.